home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / m / iris4d.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-31  |  5.0 KB  |  169 lines

  1. /* machine description file for Iris-4D machines.  Use with s/irix*.h.
  2.    Copyright (C) 1987 Free Software Foundation, Inc.
  3.  
  4. This file is part of GNU Emacs.
  5.  
  6. GNU Emacs is free software; you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation; either version 2, or (at your option)
  9. any later version.
  10.  
  11. GNU Emacs is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. GNU General Public License for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with GNU Emacs; see the file COPYING.  If not, write to
  18. the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* Synched up with: FSF 19.29. */
  21.  
  22. /* Define WORD_MACHINE if addresses and such have
  23.  * to be corrected before they can be used as byte counts.  */
  24.  
  25. #undef WORD_MACHINE
  26.  
  27. /* Now define a symbol for the cpu type, if your compiler
  28.    does not define it automatically:
  29.    Ones defined so far include vax, m68000, ns16000, pyramid,
  30.    orion, tahoe, APOLLO and many others */
  31.  
  32. #ifndef mips
  33. #define mips
  34. #endif
  35.  
  36. #ifndef IRIS_4D
  37. #define IRIS_4D
  38. #endif
  39.  
  40. /* Use type int rather than a union, to represent Lisp_Object */
  41. /* This is desirable for most machines.  */
  42.  
  43. #define NO_UNION_TYPE
  44.  
  45. /* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
  46.    the bit field into an int.  In other words, if bit fields
  47.    are always unsigned.
  48.  
  49.    If you use NO_UNION_TYPE, this flag does not matter.  */
  50.  
  51. #define EXPLICIT_SIGN_EXTEND
  52.  
  53. /* jg@genmagic.genmagic.com (John Giannandrea) says this is unnecessary.  */
  54. #if 0
  55. /* Data type of load average, as read out of kmem.  */
  56.  
  57. #define LOAD_AVE_TYPE long    /* This doesn't quite work on the 4D */
  58.  
  59. /* Convert that into an integer that is 100 for a load average of 1.0  */
  60.  
  61. #define LOAD_AVE_CVT(x) (int)(((double)(x)*100)/1024.0)
  62.  
  63. /* s-iris3-6.h uses /vmunix */
  64.  
  65. #undef KERNEL_FILE
  66. #define KERNEL_FILE "/unix"
  67. #endif
  68.  
  69. /* Define CANNOT_DUMP on machines where unexec does not work.
  70.    Then the function dump-emacs will not be defined
  71.    and temacs will do (load "loadup") automatically unless told otherwise.  */
  72.  
  73. #undef CANNOT_DUMP
  74.  
  75. /* Define VIRT_ADDR_VARIES if the virtual addresses of
  76.    pure and impure space as loaded can vary, and even their
  77.    relative order cannot be relied on.
  78.  
  79.    Otherwise Emacs assumes that text space precedes data space,
  80.    numerically.  */
  81.  
  82. /* #define VIRT_ADDR_VARIES */
  83.  
  84. /* Define C_ALLOCA if this machine does not support a true alloca
  85.    and the one written in C should be used instead.
  86.    Define HAVE_ALLOCA to say that the system provides a properly
  87.    working alloca function and it should be used.
  88.    Define neither one if an assembler-language alloca
  89.    in the file alloca.s should be used.  */
  90.  
  91. /* #define C_ALLOCA */  /* Sjoerd.Mullender@cwi.nl says no need.  */
  92. /* #define HAVE_ALLOCA */
  93.  
  94. /* Define NO_REMAP if memory segmentation makes it not work well
  95.    to change the boundary between the text section and data section
  96.    when Emacs is dumped.  If you define this, the preloaded Lisp
  97.    code will not be sharable; but that's better than failing completely.  */
  98.  
  99. #define NO_REMAP
  100.  
  101. /* This machine requires completely different unexec code
  102.    which lives in a separate file.  Specify the file name.  */
  103.  
  104. #ifdef USG5_4
  105. #undef UNEXEC
  106. #define UNEXEC unexelfsgi.o
  107. #else
  108. #define UNEXEC unexmips.o
  109. #endif
  110.  
  111. #define TEXT_START 0x400000
  112.  
  113. /*
  114.  * DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
  115.  * were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
  116.  * the value field of a LISP_OBJECT).
  117.  */
  118.  
  119. #define DATA_START 0x10000000
  120. #define DATA_SEG_BITS    0x10000000
  121.  
  122. #undef LIBS_MACHINE
  123. /* -lsun in case using Yellow Pages for passwords.  */
  124. #define LIBS_MACHINE -lsun -lmld
  125. #define LIBS_DEBUG
  126.  
  127. /* Define this if you have a fairly recent system,
  128.    in which crt1.o and crt1.n should be used.  */
  129. #define HAVE_CRTN
  130.  
  131. #ifndef USG5_4
  132. #ifdef HAVE_CRTN
  133. /* Must define START-FILES so that the linker can find /usr/lib/crt0.o.  */
  134. #define START_FILES pre-crt0.o /usr/lib/crt1.o
  135. #define LIB_STANDARD -lc /usr/lib/crtn.o
  136. #else
  137. #define START_FILES pre-crt0.o /usr/lib/crt0.o
  138. /* The entry-point label (start of text segment) is `start', not `__start'.  */
  139. #define DEFAULT_ENTRY_ADDRESS start
  140. #define LIB_STANDARD -lc
  141. #endif
  142. #endif
  143.  
  144. /* Use terminfo instead of termcap.  */
  145.  
  146. #define TERMINFO
  147.  
  148. /* Letter to use in finding device name of first pty,
  149.   if system supports pty's.  'a' means it is /dev/ptya0  */
  150.  
  151. #undef FIRST_PTY_LETTER
  152. #define FIRST_PTY_LETTER 'q'
  153.  
  154. /* Define STACK_DIRECTION for alloca.c */
  155.  
  156. #undef STACK_DIRECTION
  157. #define STACK_DIRECTION -1
  158.  
  159. #ifndef __GNUC__
  160. /* Turn off some "helpful" error checks for type mismatches
  161.    that we can't fix without breaking other machines.  */
  162. #ifdef IRIX_FORCE_32_BITS
  163. /* XEmacs change -- cognot@elfgrc.co.uk
  164.    Otherwise cpp defaults to no-ansi and does not understand
  165.    anything about concatenation (##) directives. */
  166. /* #define C_SWITCH_MACHINE -32 */
  167. #endif /* IRIX_FORCE_32_BITS */
  168. #endif /* not __GNUC__ */
  169.